package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 客户信息对象 t_customer
 *
 * @author ruoyi
 * @date 2023-07-18
 */
@TableName("t_customer")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Customer {

    /**
     * 用户ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String realName;

    /**
     * 身份证
     */
    @Excel(name = "身份证")
    private String idCard;

    /**
     * 岗位id
     */
    private Long postId;

    /**
     * 岗位
     */
    @Excel(name = "岗位")
    private String postName;

    /**
     * 职级
     */
    //@Excel(name = "职级")
    private Integer postRank;

    /**
     * 项目类型
     */
    @Excel(name = "项目类型", readConverterExp = "1=TM,2=FP")
    private Integer projectType;

    /**
     * 地域id
     */
    private Long areaId;

    /**
     * 地域
     */
    @Excel(name = "地域")
    private String areaName;

    /**
     * 业务线id
     */
    private Long businessLineId;

    /**
     * 业务线
     */
    @Excel(name = "业务线")
    private String businessLineName;

    /**
     * 事业部id
     */
    private Long businessDepartmentId;

    /**
     * 事业部
     */
    @Excel(name = "事业部")
    private String businessDepartmentName;

    /**
     * 交付部id
     */
    private Long deliveryDepartmentId;

    /**
     * 交付部
     */
    @Excel(name = "交付部")
    private String deliveryDepartmentName;

    /**
     * 客户
     */
    @Excel(name = "客户")
    private String customerName;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * GP1%目标值
     */
    @Excel(name = "GP1%目标值")
    private String gp1TargetValue;

    /**
     * 转正薪酬
     */
    @Excel(name = "转正薪酬")
    private String regularSalary;

    /**
     * 公司缴纳五险一金
     */
    @Excel(name = "公司缴纳五险一金")
    private String fiveInsuranceAndOnePension;

    /**
     * 实际GP1%
     */
    @Excel(name = "实际GP1%")
    private String gp1RealityValue;

    /**
     * 与目标值偏差
     */
    @Excel(name = "与目标值偏差")
    private String deviationFromTargetValue;

    /**
     * 奖金系数
     */
    @Excel(name = "奖金系数")
    private String bonusFactor;

    /**
     * 是否有上家公司流水
     */
    @Excel(name = "是否有上家公司流水",readConverterExp = "0=否,1=有")
    private Integer havaLastCompanyBill;

    /**
     * 上家公司月薪
     */
    @Excel(name = "上家公司月薪")
    private String lastCompanyMonthlySalary;

    /**
     * 员工状态
     */
    @Excel(name = "员工状态", readConverterExp = "1=已入职,2=待入职,3=流失,4=offer沟通中")
    private Integer status;

    /**
     * 入职日期
     */
    @Excel(name = "入职日期")
    private String entryDate;

    /**
     * 合同id
     */
    private Long contractId;


    /**
     * 结算价
     */
    @Excel(name = "结算价")
    private BigDecimal settPrice;

    //@Excel(name = "是否极度稀缺")
    private Integer scarce;//是否极度稀缺（0否，1是）

    @Excel(name = "原始积分")
    private Integer basePoint;//原始积分
    @Excel(name = "实发奖金")
    private String realBonus;//实发奖金

}
